Crate cryptoxide

Source
Expand description

A pure-rust implementation of various cryptographic algorithms, which no dependencies and no foreign code (specially C or assembly).

Our goals is to support rust cryptography in various constrained environment like embedded devices and web assembly

This is a fork of Rust-Crypto by DaGenix, which we owe a debt of gratitude for starting some good quality pure rust implementations of various cryptographic algorithms.

Notable Differences with the original sources:

  • Maintained
  • Extended ED25519 support for extended secret key (64 bytes) support
  • Proper implementation of ChaChaPoly1305
  • Many cryptographic algorithms removed: AES, Blowfish, Fortuna, RC4, RIPEMD160, Whirlpool, MD5, SHA1.

As with everything cryptographic implementations, please make sure it suits your security requirements, and review and audit before using.

Modulesยง

  • Blake2B hash function
  • Blake2S hash function
  • ChaCha20 Stream Cipher
  • ChaCha20Poly1305 is an authenticated symmetric stream cipher based on chacha20 and poly1305.
  • Constant time operations
  • Curve25519 elliptic curve diffie hellman (X25519)
  • Cryptographic Hash abstraction definition
  • Deterministic Random Generator
  • ED25519 Signature Scheme
  • Cryptographic Hash Functions root module
  • HMAC Key Derivation Function (HKDF)
  • Implements the Hash Message Authentication Code (HMAC)
  • Key Derivation Function (KDF) Algorithms
  • The mac module defines the Message Authentication Code (Mac) trait.
  • This module implements the PBKDF2 Key Derivation Function as specified in Specification.
  • Poly1305 Message Authentication Code (MAC) as defined in Specification.
  • An implementation of the RIPEMD-160 cryptographic hash.
  • Salsa20 Stream Cipher
  • Implements the Scrypt key derivation function as Specification.
  • An implementation of the SHA-1 cryptographic hash algorithm.
  • An implementation of the SHA-2 cryptographic hash algorithms.
  • An implementation of the SHA-3 cryptographic hash algorithms.
  • X25519 - diffie hellman using curve25519